import matplotlib.pyplot as plt

# 文件路径
file_path = "C:\\Users\\hanson\\Downloads\\data3.txt"  # 替换为你的文件路径

# 初始化存储数据的列表
x_values = []
y_values = []

# 打开文件并读取数据
try:
    with open(file_path, "r") as file:
        lines = file.readlines()
        # 从第23行开始读取数据（索引从0开始）
        for line in lines[22:]:  # 从第23行开始，直到文件结尾
            # 假设每行数据格式为 "xi,yi"，用逗号分隔
            print(line.strip().split(" ")[0].split("\t"))
            parts = line.strip().split(" ")[0].split("\t")
            if len(parts) == 2:  # 确保每行有两列数据
                try:
                    x = float(parts[0])  # 将xi转换为浮点数
                    y = float(parts[1])  # 将yi转换为浮点数
                    x = (x + 0.035) / 0.0461 * 4
                    y = (0.7499 * y - 41.01) * 2
                    x_values.append(x)  # 添加到x值列表
                    y_values.append(y)  # 添加到y值列表
                except ValueError:
                    print(f"Warning: Skipping invalid data in line: {line.strip()}")
except FileNotFoundError:
    print(f"Error: File '{file_path}' not found.")
except Exception as e:
    print(f"An error occurred: {e}")

# 绘制图像
if x_values and y_values:
    plt.figure(figsize=(10, 6))  # 设置图像大小
    plt.plot(
        x_values, y_values, marker="o", linestyle="-", color="b"
    )  # 绘制折线图，带圆点标记
    plt.xlabel("x")  # x轴标签
    plt.ylabel("y")  # y轴标签
    plt.title("y-x Plot")  # 图像标题
    plt.grid(True)  # 添加网格
    plt.show()  # 显示图像
else:
    print("No valid data to plot.")
